Content delivery networks (CDNs) have greatly improved the transfer of content across data networks such as the Internet. One way that a CDN improves the transfer of content is to reduce the distance that content travels in order to reach a destination. To do so, the CDN operator strategically locates surrogate origin servers, also referred to as CDN caching servers or edge servers, at various points-of-presence (PoPs) that are geographically proximate to large numbers of end users. CDN customers are content providers that offload their content to the CDN caching servers. The CDN caching servers cache the offloaded content and deliver the content on behalf of the CDN customers or content providers. More particularly, from the geographically proximate locations of the CDN caching servers to the end users, the CDN caching servers serve the cached content to end users in a manner that is more efficient than if the content providers were to serve the content themselves. The CDN uses a traffic management system to route requests for the cached content to the CDN caching server that can optimally deliver the requested content to the requesting end user. As used hereafter, optimal delivery of content refers to the most efficient available means by which content can be delivered from a server to an end user machine over a data network. Optimal delivery of content may be quantified in terms of latency, jitter, packet loss, distance, and overall end user experience.
Determination of the optimal CDN caching server may be based on geographic proximity to the requesting end user as well as other factors such as load, capacity, and responsiveness of the CDN caching servers. The optimal CDN caching server delivers the requested content to the requesting end user in a manner that is more efficient than when origin servers of the content provider (CDN customer) deliver the requested content or when other CDN caching servers at different PoPs of the CDN deliver the content. For example, a CDN operator may deploy CDN caching servers to form PoPs in Los Angeles, Dallas, and New York. These caching servers may cache content that is published by a particular content provider customer who has an origin server in Miami. When a requesting end user in San Francisco submits a request for the content of the particular content provider customer, the CDN will deliver the content from a CDN caching server at the Los Angeles PoP on behalf of the particular content provider customer, as opposed to the much greater distance that would be required when delivering the content from the particular content provider customer's origin server in Miami. In this manner, the CDN reduces the latency, jitter, and amount of buffering that is experienced by the requesting end user.
Another advantage of the CDN is that it allows content provider customers to offload infrastructure costs, configuration management, and maintenance to the CDN. The CDN operator deploys and manages the infrastructure for the delivery network and the CDN operator allocates as much resources as needed to a particular content provider customer at a given time, with the ability for the particular content provider customer to rapidly scale resources as needed. Content provider customers only pay the CDN operator for the resources (e.g., bandwidth) that are used to serve the content provider customer's content from any of the CDN's PoPs to whichever end users request that content. Content provider customers can therefore devote more time to the creation of content and less time to the creation of an infrastructure that delivers the content to end users. As a result of these and other benefits, many CDNs are in operation today. Edgecast, Akamai, Limelight, and CDNetworks are some examples of currently operating CDNs.
A problem confronting any CDN operator is the inability to provide a true end-to-end content delivery solution. This is because the CDN operator does not control all links in the delivery chain over which content is delivered from one of its CDN caching servers to an end user. Specifically, the CDN operator does not have control over one or more of the final links in the delivery chain. This discontinuity in the delivery chain is primarily a result of the Telcos that are positioned between the CDN and the end users. A Telco means and refers to a wireless or mobile service provider, broadband service provider, or any internet service provider (ISP). Telcos may be regional or national service providers and may include service providers such as AT&T®, Verizon® and Charter Communications®. A Telco provides one or more end users connectivity to data networks, including the Internet. Such connectivity enables the communication between the CDN caching servers and the end users. The Telco fully controls the components and the network that enable such connectivity. As a result, a CDN operator is typically unable to locate its caching servers inside the Telco network, when the Telco wishes to maintain full control of its network. End users that are customers of a particular Telco, pay the Telco for access to the data network. Payment may be in the form of monthly subscription fees or pay-per-increment of bandwidth usage. This payment in turn pays for the cost of connecting the Telco network to other data networks, thereby providing end users of the Telco access to the Internet.
A Telco interrupts the end-to-end delivery capability of the CDN when it deploys one or more transparent caching servers or proxy servers within the Telco-controlled network. Typically, the Telco deploys such servers at gateway locations, whereby content passing between the Telco network and an external data network flows at some point through the transparent caching server or proxy server. The terms transparent caching server will be used hereafter to refer to the functionality of either a transparent caching server or a proxy server. As is known to one of ordinary skill in the art, a transparent caching server is functionally different and is operated independent of the CDN caching servers. A transparent caching server can be configured by the Telco to specify certain content that the Telco wishes to designate as hot (i.e., popular) content, whereas the CDN caching servers are configured to cache content based on rules configured by the CDN operator or rules provided by their content provider customers. In further contrast to the CDN caching servers, a transparent caching server monitors content passing between a source (e.g., the external data network) and a destination (e.g., end-user customers of the Telco). The monitoring is performed to determine what content to cache. The monitoring is also performed in order to intercept requests for content that the transparent caching server has cached, wherein intercepting a request prevents the request from reaching an intended recipient that ordinarily serves the requested content (e.g., a content provider server or a CDN caching server). Upon intercepting a request, the transparent caching server can serve the content requested in the request from cache back to the requestor, without the request reaching the intended recipient and without the intended recipient being aware that the content was requested or was served by another (i.e., the transparent caching server). CDN caching servers typically perform no such monitoring and interception. Instead, CDN caching servers typically respond to a request when the request is routed to a particular CDN caching server usually as a result of some redirection, wherein the redirection may include DNS redirection, aliasing and URL rewriting as some examples.
By deploying one or more transparent caching servers within a Telco network, the Telco, in a sense, can create and operate its own local CDN independent of the external CDNs operated, for example, by Edgecast or Akamai. This further accelerates the delivery of content to the Telco's end users as the Telco is often the final link in the delivery chain to the end users. Telcos benefit from the deployment of transparent caching servers because such servers reduce the amount of traffic outside the Telco network, thereby reducing bandwidth costs for the Telco. Stated differently, some of the end user requested content can be served from the local cache of the transparent caching server that is internal to the Telco network instead of having to use external data network bandwidth when serving the requested content from CDN caching servers, origin servers of a content provider, or other servers that are located in the data network that is external to the data network operated by the Telco.
This interruption in the end-to-end delivery capability of the CDN prevents requests for certain content from reaching the CDN and from being serviced by the CDN. As a result, the revenue stream of the CDN is impacted as less content is served by the CDN on behalf of the CDN's content provider customers. Also, the metrics computed by the CDN for measuring the demand for content provider customer content and for measuring the performance in delivering such content are impacted. Specifically, the measurements are inaccurate because the CDN no longer delivers all content on behalf of its content provider customers. For example, there may be a thousand distinct requests for a particular content provider customer's content that the CDN is to deliver on behalf of the particular content provider customer. However, it may be that only seven hundred of those requests are serviced by the CDN's caching servers and the other three hundred requests are intercepted before reaching the CDN's caching servers and are instead serviced by transparent caching servers operated by one or more Telcos. In this scenario, the CDN will report to the particular content provider customer that its content was requested only seven hundred times, when in actuality the content was requested one thousand times. In other words, the performance measurements and other metrics related to the delivery of the particular content provider customer's content and that are reported by the CDN to the particular content provider customer will only take into account the content delivered in response to the seven hundred requests serviced by the CDN while omitting performance measurements and other metrics related to the three hundred requests that were intercepted and serviced by the transparent caching servers. As a result, the CDN underreports the demand for the particular content provider customer's content and any other metrics are inaccurate.
The interruption in the CDN's end-to-end delivery capability also raises intellectual property rights issues. Based on the contract that the content provider customer establishes with the CDN, it may be that only the CDN is authorized to cache, host, distribute, or otherwise serve content of the content provider customer and any transparent caching of the content provider customer's content violates the terms governing who is authorized to cache, host, distribute, or otherwise serve such content.
Accordingly, there is a need for a true end-to-end CDN solution. There is a need for such an end-to-end CDN solution to leverage and account for components in the delivery chain that are both operated by the CDN and not operated by the CDN (i.e., operated by a third party such as a Telco). There is a need for such an end-to-end CDN solution to more accurately determine metrics associated with delivering content provider customer content, to ensure authorized distribution of such content and to compensate the CDN for delivering all of such content.